package cn.iocoder.yudao.module.reading.controller.app.classes.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 班级信息 Response VO
 *
 * @author 芋道源码
 */
@Schema(description = "用户 APP - 班级信息 Response VO")
@Data
public class ClassRespVO {

    @Schema(description = "班级ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "班级名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "五年级三班")
    private String className;

    @Schema(description = "班级口令", requiredMode = Schema.RequiredMode.REQUIRED, example = "208506115")
    private String classCode;

    @Schema(description = "创建者ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3")
    private Long creatorId;

    @Schema(description = "创建者姓名", example = "李老师")
    private String creatorName;

    @Schema(description = "班级描述", example = "李老师的英语启蒙班级，欢迎大家一起学习！")
    private String description;

    @Schema(description = "成员数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "3")
    private Integer memberCount;

    @Schema(description = "是否锁定", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
    private Boolean isLocked;

    @Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
    private Boolean isActive;

    @Schema(description = "用户在班级中的角色", example = "teacher")
    private String role;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2025-01-01T08:00:00")
    private LocalDateTime createTime;

}
